package main

import "fmt"

// 结构体内嵌 模拟继承

// Animal 动物的结构体
type Animal struct {
	name string
}

// move 动物的的方法
func (a *Animal) move() {
	fmt.Printf("%s会动\n", a.name)
}

// Dog 狗类的结构体
type Dog struct {
	fet int
	*Animal
}

// wangwang 狗叫的方法
func (d Dog) wangwang() {
	fmt.Printf("%s汪汪汪~\n", d.name)
}

func main() {
	var wangcai = Dog{
		fet:    4,
		Animal: &Animal{name: "旺财"},
	}
	wangcai.move() // 继承了 动物的move 方法
	wangcai.wangwang()
}
